home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 July: Mac OS SDK / Dev.CD Jul 97 SDK1.toast / Development Kits (Disc 1) / QuickDraw GX / Programming Stuff / Sample Code / Printing Samples / Extensions… / "kabooms" (global data info) ƒ / kaboom ƒ / kaboom.r < prev    next >
Encoding:
Text File  |  1996-06-14  |  9.6 KB  |  340 lines  |  [TEXT/MPS ]

  1. /*    File: kaboom.r
  2.  
  3.     Resources for a simple printing extension.
  4.     
  5.     Dave Hersey
  6.     Apple Developer Technical Support
  7.  
  8.     2/01/93 - dmh - Created.
  9.     4/26/93    - dmh - Modified to work around b1 shutdown bug.
  10.     9/07/93 - dmh - Updated for b2.
  11.    12/18/93 - dmh - Updated for b3.
  12.     3/22/94 - dmh - Verified for b4.
  13.     6/14/96 - cn  - Updated to support Universal Interfaces 2.1.
  14. */
  15.  
  16. #include "SysTypes.r"
  17. #include "Types.r"
  18. #include "GXPrintingResTypes.r"
  19.  
  20.  
  21. #define r_str        200
  22.  
  23.  
  24. /*=================== Required Printing Extension Types and Resources =================== */
  25.  
  26.  
  27. /*======= Scope ('scop') Resource ======= */
  28.  
  29. /*    This resource tells the printing system which types
  30.     of drivers we work with.  (We work with all of them.) */
  31.  
  32. resource gxExtensionScopeType (gxDriverScopeID, sysheap, purgeable)
  33. {
  34.     {
  35.         gxAnyPrinterType        
  36.     };
  37. };
  38.  
  39.  
  40. /*======= Message Override ('over') Resource ======= */
  41.  
  42. /*    This resource tells the printing system which messages we
  43.     want to override and where the override code is located. */
  44.  
  45. resource gxOverrideType (gxExtensionUniversalOverrideID, sysheap, purgeable)
  46. {
  47.     {
  48.         // message to override    segmentID        offset into JumpTable
  49.         gxStartJob,                    0,                      4,
  50.         gxFinishJob,                0,                      8
  51.     };
  52. };
  53.  
  54.  
  55. /*======= Extension Optimization ('eopt') Resource ======= */
  56.  
  57. /*    This resource tells the printing system at which times we'll
  58.     be doing things so that it can optimize for us.        */
  59.  
  60. resource gxExtensionOptimizationType (gxExtensionOptimizationID, sysheap, purgeable)
  61. {
  62.     gxDontExecuteDuringImaging,
  63.     gxDontNeedDeviceStatus,
  64.     gxDontChangePageAtGXDespoolPage,
  65.     gxDontChangePageAtGXImagePage,
  66.     gxDontChangePageAtGXRenderPage,
  67.     gxNotServerPresenceRequired,
  68.     gxNotClientPresenceRequired
  69. };
  70.  
  71.  
  72. /*======= Extension Load ('load') Resource ======= */
  73.  
  74. /*    This resource tells the printing system where we want
  75.     to be loaded in the handler chain. */
  76.  
  77. resource gxExtensionLoadType (gxExtensionLoadID, sysheap, purgeable)
  78. {
  79.     gxExtensionLoadAnywhere
  80. };
  81.  
  82.  
  83. /*================ 'vers' resource that's required by all extensions ================== */
  84.  
  85. /*    The first byte of this resource must be zero or one for
  86.     this extension to be compatible with GX v1.0.  The
  87.     remainder of the data is ignored.                        */
  88.  
  89. resource 'vers' (gxPrintingExtensionBaseID, sysheap, purgeable) {
  90.     0x0,
  91.     0x0,
  92.     release,
  93.     0x0,
  94.     verUS,
  95.     "",
  96.     ""
  97. };
  98.  
  99.  
  100. /*=================== Standard 'vers', bundle and icon resources follow… =================== */
  101.  
  102. resource 'vers' (1, sysheap, purgeable) {
  103.     0x1,
  104.     0x0,
  105.     release,
  106.     0x0,
  107.     verUS,
  108.     "1.0",
  109.     "1.0, © Apple Computer, Inc.  1992-1994"
  110. };
  111.  
  112.  
  113. resource 'vers' (2, sysheap, purgeable) {
  114.     0x1,
  115.     0x0,
  116.     release,
  117.     0x0,
  118.     verUS,
  119.     "1.0",
  120.     "kaboom v1.0"
  121. };
  122.  
  123.  
  124. resource 'BNDL' (128, sysheap, purgeable) {
  125.     'Kabm',
  126.     0,
  127.     {    /* array TypeArray: 2 elements */
  128.         /* [1] */
  129.         'FREF',
  130.         {    /* array IDArray: 1 elements */
  131.             /* [1] */
  132.             0, 128
  133.         },
  134.         /* [2] */
  135.         'ICN#',
  136.         {    /* array IDArray: 1 elements */
  137.             /* [1] */
  138.             0, 128
  139.         }
  140.     }
  141. };
  142.  
  143.  
  144. resource 'STR#' (r_str, sysheap, purgeable)
  145. {
  146.     {
  147.         "This is string #1",
  148.         "This is string #2",
  149.         "This is string #3",
  150.         "This is string #4"
  151.     }
  152. };
  153.  
  154.  
  155. Type 'Kabm' as 'STR ';
  156.  
  157. resource 'Kabm' (0, "Owner resource", sysheap, purgeable) {
  158.     "This is just a simple printing extension."
  159. };
  160.  
  161.  
  162. resource 'FREF' (128, sysheap, purgeable) {
  163.     gxPrintingExtensionType,
  164.     0,
  165.     ""
  166. };
  167.  
  168.  
  169. resource 'ICN#' (128, sysheap, purgeable) {
  170.     {    /* array: 2 elements */
  171.         /* [1] */
  172.         $"FFFF FFFC FFFF FFFC FFFF FFFC FFFF FFFC"
  173.         $"FFFF FFFC FFFF FFFC FFFF FFFC FFFF FFFC"
  174.         $"FFFF FFFC DFEF FFFD 9F0F FFFF 1E47 00FF"
  175.         $"1E00 003F 1800 001F 1900 000F 1E00 0007"
  176.         $"1E00 0007 1F00 0007 1FE0 0007 1FF0 000F"
  177.         $"1FF8 001F 9FF8 001F DFF8 813D FFFD FFBC"
  178.         $"FFFD FFBC FFFD FFBC FFFF FFFC FFFF FFFC"
  179.         $"FFFF FFFC FFFF FFFC FFFF FFFC 7FFF FFFC",
  180.         /* [2] */
  181.         $"FFFF FFFC FFFF FFFC FFFF FFFC FFFF FFFC"
  182.         $"FFFF FFFC FFFF FFFC FFFF FFFC FFFF FFFC"
  183.         $"FFFF FFFC DFFF FFFD 9FFF FFFF 1FFF FFFF"
  184.         $"1FFF FFFF 1FFF FFFF 1FFF FFFF 1FFF FFFF"
  185.         $"1FFF FFFF 1FFF FFFF 1FFF FFFF 1FFF FFFF"
  186.         $"1FFF FFFF 9FFF FFFF DFFF FFFD FFFF FFFC"
  187.         $"FFFF FFFC FFFF FFFC FFFF FFFC FFFF FFFC"
  188.         $"FFFF FFFC FFFF FFFC FFFF FFFC 7FFF FFFC"
  189.     }
  190. };
  191.  
  192.  
  193. resource 'icl8' (128, sysheap, purgeable) {
  194.     $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
  195.     $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0000"
  196.     $"FFE3 E3E3 E3E3 E3E3 E3E3 E3E3 E3E3 E3E3"
  197.     $"E3E3 E3E3 E3E3 E3E3 E3E3 E3E3 E3FF 0000"
  198.     $"FFE3 E3E3 E3E3 E3E3 E3E3 E3E3 E3E3 E3E3"
  199.     $"E3E3 E3E3 E3E3 E3E3 E3E3 E3E3 E3FF 0000"
  200.     $"FFE3 E3E3 E3E3 E3E3 E3E3 E3E3 E3E3 E3E3"
  201.     $"E3E3 E3E3 E3E3 E3E3 E3E3 E3E3 E3FF 0000"
  202.     $"FFE3 E3E3 E3E3 E3E3 E3E3 E3E3 E3E3 E3E3"
  203.     $"E3E3 E3E3 E3E3 E3E3 E3E3 E3E3 E3FF 0000"
  204.     $"FFE3 E3E3 E3E3 E3E3 E3E3 E3E3 E3E3 E3E3"
  205.     $"E3E3 E3E3 E3E3 E3E3 E3E3 E3E3 E3FF 0000"
  206.     $"FFE3 E3E3 E3E3 E3E3 E3E3 E3E3 E3E3 E3E3"
  207.     $"E3E3 E3E3 E3E3 E3E3 E3E3 E3E3 E3FF 0000"
  208.     $"FFE3 E3E3 E3E3 E3E3 E3E3 E3E3 FFE3 E3E3"
  209.     $"E3E3 E3E3 E3E3 E3E3 E3E3 E3E3 E3FF 0000"
  210.     $"FFE3 FFE3 E3E3 E3E3 E3E3 E3FF FFE3 E3E3"
  211.     $"E3E3 E3E3 E3E3 E3E3 E3E3 E3E3 E3FF 0000"
  212.     $"FFFF 00FF E3E3 E3E3 FFFF FF08 FFE3 E3E3"
  213.     $"E3E3 E3E3 E3E3 E3E3 E3E3 E3E3 E3FF 00FF"
  214.     $"FF00 00FF E3E3 E3FF 0808 0808 FFFF E3E3"
  215.     $"FFFF FFFF FFFF FFFF E3E3 E3E3 E3FF FFFF"
  216.     $"0000 00FF E3E3 FF08 08FF 0808 08FF FFFF"
  217.     $"0808 0808 0808 0808 FFFF E3E3 E3E3 E3FF"
  218.     $"0000 00FF FFFF FF08 0808 0808 0808 0808"
  219.     $"0808 0808 0808 0808 0808 FFFF E3E3 E3FF"
  220.     $"0000 00FF FF08 0808 0808 0808 0808 0808"
  221.     $"0808 0808 0808 0808 0808 08FF FFE3 E3FF"
  222.     $"0000 00FF FF08 08FF 0808 0808 0808 0808"
  223.     $"0808 0808 0808 0808 0808 0808 FFE3 E3FF"
  224.     $"0000 00FF FFFF FF08 0808 0808 0808 0808"
  225.     $"0808 0808 0808 0808 0808 0808 08FF FFFF"
  226.     $"0000 00FF E3E3 FF08 0808 0808 0808 0808"
  227.     $"0808 0808 0808 0808 0808 0808 08FF E3FF"
  228.     $"0000 00FF E3E3 E3FF 0808 0808 0808 0808"
  229.     $"0808 0808 0808 0808 0808 0808 08FF E3FF"
  230.     $"0000 00FF E3E3 E3E3 FFFF FF08 0808 0808"
  231.     $"0808 0808 0808 0808 0808 0808 08FF E3FF"
  232.     $"0000 00FF E3E3 E3E3 E3E3 E3FF 0808 0808"
  233.     $"0808 0808 0808 0808 0808 0808 FFE3 E3FF"
  234.     $"0000 00FF E3E3 E3E3 E3E3 E3E3 FF08 0808"
  235.     $"0808 0808 0808 0808 0808 08FF E3E3 E3FF"
  236.     $"FF00 00FF E3E3 E3E3 E3E3 E3E3 FF08 0808"
  237.     $"0808 0808 0808 0808 0808 08FF E3FF FFFF"
  238.     $"FFFF 00FF E3E3 E3E3 E3E3 E3E3 FF08 0808"
  239.     $"FF08 0808 0808 08FF 0808 FFE3 E3FF 00FF"
  240.     $"FFE3 FFE3 E3E3 E3E3 E3E3 E3E3 E3FF 08FF"
  241.     $"E3FF FFFF FFFF FFE3 FF08 FFE3 E3FF 0000"
  242.     $"FFE3 E3E3 E3E3 E3E3 E3E3 E3E3 E3FF 08FF"
  243.     $"E3E3 E3E3 E3E3 E3E3 FF08 FFE3 E3FF 0000"
  244.     $"FFE3 E3E3 E3E3 E3E3 E3E3 E3E3 E3FF 08FF"
  245.     $"E3E3 E3E3 E3E3 E3E3 FF08 FFE3 E3FF 0000"
  246.     $"FFE3 E3E3 E3E3 E3E3 E3E3 E3E3 E3FF FFE3"
  247.     $"E3E3 E3E3 E3E3 E3E3 E3FF FFE3 E3FF 0000"
  248.     $"FFE3 E3E3 E3E3 E3E3 E3E3 E3E3 E3FF E3E3"
  249.     $"E3E3 E3E3 E3E3 E3E3 E3E3 FFE3 E3FF 0000"
  250.     $"FFE3 E3E3 E3E3 E3E3 E3E3 E3E3 E3E3 E3E3"
  251.     $"E3E3 E3E3 E3E3 E3E3 E3E3 E3E3 E3FF 0000"
  252.     $"FFE3 E3E3 E3E3 E3E3 E3E3 E3E3 E3E3 E3E3"
  253.     $"E3E3 E3E3 E3E3 E3E3 E3E3 E3E3 E3FF 0000"
  254.     $"FFE3 E3E3 E3E3 E3E3 E3E3 E3E3 E3E3 E3E3"
  255.     $"E3E3 E3E3 E3E3 E3E3 E3E3 E3E3 E3FF 0000"
  256.     $"00FF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
  257.     $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
  258. };
  259.  
  260.  
  261. resource 'ics8' (128, sysheap, purgeable) {
  262.     $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FF00"
  263.     $"FFE3 E3E3 E3E3 E3E3 E3E3 E3E3 E3E3 FF00"
  264.     $"FFE3 E3E3 E3E3 E3E3 E3E3 E3E3 E3E3 FF00"
  265.     $"FFE3 E3E3 E3E3 FFE3 E3E3 E3E3 E3E3 FF00"
  266.     $"FFFF E3E3 FFFF FFE3 E3E3 E3E3 E3E3 FFFF"
  267.     $"FFFF E3FF FF08 FFFF FFFF FFFF FFE3 FFFF"
  268.     $"00FF FFFF 0808 0808 0808 0808 08FF FFFF"
  269.     $"00FF FFFF 0808 0808 0808 0808 0808 FFFF"
  270.     $"00FF E3FF 0808 0808 0808 0808 0808 FFFF"
  271.     $"00FF E3E3 FFFF 0808 0808 0808 0808 FFFF"
  272.     $"FFFF E3E3 E3E3 FF08 0808 0808 08FF FFFF"
  273.     $"FFFF E3E3 E3E3 FFFF FFFF FFFF FFFF FFFF"
  274.     $"FFE3 E3E3 E3E3 FFFF E3E3 E3E3 FFFF FF00"
  275.     $"FFE3 E3E3 E3E3 FFFF E3E3 E3E3 FFFF FF00"
  276.     $"FFE3 E3E3 E3E3 E3E3 E3E3 E3E3 E3E3 FF00"
  277.     $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FF"
  278. };
  279.  
  280.  
  281. resource 'ics#' (128, sysheap, purgeable) {
  282.     {    /* array: 2 elements */
  283.         /* [1] */
  284.         $"FFFE FFFE FFFE FFFE FFFF FBFF 7007 7003"
  285.         $"7003 7C03 FE07 FFFF FFFE FFFE FFFE FFFE",
  286.         /* [2] */
  287.         $"FFFE FFFE FFFE FFFE FFFF FFFF 7FFF 7FFF"
  288.         $"7FFF 7FFF FFFF FFFF FFFE FFFE FFFE FFFE"
  289.     }
  290. };
  291.  
  292.  
  293. resource 'icl4' (128, sysheap, purgeable) {
  294.     $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FF00"
  295.     $"F888 8888 8888 8888 8888 8888 8888 8F00"
  296.     $"F888 8888 8888 8888 8888 8888 8888 8F00"
  297.     $"F888 8888 8888 8888 8888 8888 8888 8F00"
  298.     $"F888 8888 8888 8888 8888 8888 8888 8F00"
  299.     $"F888 8888 8888 8888 8888 8888 8888 8F00"
  300.     $"F888 8888 8888 8888 8888 8888 8888 8F00"
  301.     $"F888 8888 8888 F888 8888 8888 8888 8F00"
  302.     $"F8F8 8888 888F F888 8888 8888 8888 8F00"
  303.     $"FF0F 8888 FFFC F888 8888 8888 8888 8F0F"
  304.     $"F00F 888F CCCC FF88 FFFF FFFF 8888 8FFF"
  305.     $"000F 88FC CFCC CFFF CCCC CCCC FF88 888F"
  306.     $"000F FFFC CCCC CCCC CCCC CCCC CCFF 888F"
  307.     $"000F FCCC CCCC CCCC CCCC CCCC CCCF F88F"
  308.     $"000F FCCF CCCC CCCC CCCC CCCC CCCC F88F"
  309.     $"000F FFFC CCCC CCCC CCCC CCCC CCCC CFFF"
  310.     $"000F 88FC CCCC CCCC CCCC CCCC CCCC CF8F"
  311.     $"000F 888F CCCC CCCC CCCC CCCC CCCC CF8F"
  312.     $"000F 8888 FFFC CCCC CCCC CCCC CCCC CF8F"
  313.     $"000F 8888 888F CCCC CCCC CCCC CCCC F88F"
  314.     $"000F 8888 8888 FCCC CCCC CCCC CCCF 888F"
  315.     $"F00F 8888 8888 FCCC CCCC CCCC CCCF 8FFF"
  316.     $"FF0F 8888 8888 FCCC FCCC CCCF CCF8 8F0F"
  317.     $"F8F8 8888 8888 8FCF 8FFF FFF8 FCF8 8F00"
  318.     $"F888 8888 8888 8FCF 8888 8888 FCF8 8F00"
  319.     $"F888 8888 8888 8FCF 8888 8888 FCF8 8F00"
  320.     $"F888 8888 8888 8FF8 8888 8888 8FF8 8F00"
  321.     $"F888 8888 8888 8F88 8888 8888 88F8 8F00"
  322.     $"F888 8888 8888 8888 8888 8888 8888 8F00"
  323.     $"F888 8888 8888 8888 8888 8888 8888 8F00"
  324.     $"F888 8888 8888 8888 8888 8888 8888 8F00"
  325.     $"0FFF FFFF FFFF FFFF FFFF FFFF FFFF FF"
  326. };
  327.  
  328.  
  329. resource 'ics4' (128, sysheap, purgeable) {
  330.     $"FFFF FFFF FFFF FFF0 F888 8888 8888 88F0"
  331.     $"F888 8888 8888 88F0 F888 88F8 8888 88F0"
  332.     $"FF88 FFF8 8888 88FF FF8F FCFF FFFF F8FF"
  333.     $"0FFF CCCC CCCC CFFF 0FFF CCCC CCCC CCFF"
  334.     $"0F8F CCCC CCCC CCFF 0F88 FFCC CCCC CCFF"
  335.     $"FF88 88FC CCCC CFFF FF88 88FF FFFF FFFF"
  336.     $"F888 88FF 8888 FFF0 F888 88FF 8888 FFF0"
  337.     $"F888 8888 8888 88F0 FFFF FFFF FFFF FFF0"
  338. };
  339.  
  340.